package com.moli.iov.sys.remote;

import com.moli.iov.model.dto.req.PageExtend;
import com.moli.iov.rest.RestResponse;
import com.moli.iov.sys.model.dto.req.RoleDto;
import com.moli.iov.sys.model.dto.req.RolePermissionDto;
import com.moli.iov.sys.model.po.Role;
import java.util.List;

/**
 * <p>
 * 角色业务  第三方 调用
 * </p>
 *
 * @author zql
 * @since 2019/9/21 13:56
 */
public interface IRoleThirdRemoteService {

  /**
   *
   * 查询角色列表--下拉框
   *
   * @param roleDto
   * @return
   */
  RestResponse<List<Role>> listRole(RoleDto roleDto);

  /**
   *
   * 分页查询角色列表
   *
   * @param roleThridDto
   * @return
   */
  RestResponse<PageExtend<Role>> listRoleOfPage(RoleDto roleThridDto);

  /**
   * 增加角色
   * @param roleThridDto
   * @return
   */
  RestResponse saveRole(RoleDto roleThridDto);

  /**
   * 修改角色
   * @param roleThridDto
   * @return
   */
  RestResponse updateRoleByRoleId(RoleDto roleThridDto);

  /**
   * 设置权限
   * @param roleThridDto
   * @return
   */
  RestResponse setPermission(RoleDto roleThridDto);

  /**
   * 权限详情
   * @param roleThridDto
   * @return
   */
  RestResponse<RolePermissionDto> getRolePermissions(RoleDto roleThridDto);

  /**
   * 查询角色数量
   * @param roleDto
   * @return
   */
  RestResponse<Integer> getRoleCount(RoleDto roleDto);
}
